<!DOCTYPE HTML>

<html lang="en">
<head>

<title>RelyingPartyRegistrations (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="RelyingPartyRegistrations (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="RelyingPartyRegistrations.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="RelyingPartyRegistrations.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="RelyingPartyRegistrations.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.saml2.provider.service.registration</a></div>
<h2 title="Class RelyingPartyRegistrations" class="title">Class RelyingPartyRegistrations</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrations</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public final class <span class="typeNameLabel">RelyingPartyRegistrations</span>
extends java.lang.Object</pre>
<div class="block">A utility class for constructing instances of <a href="RelyingPartyRegistration.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration</code></a></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.4</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration">RelyingPartyRegistration.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelyingPartyRegistrations.html#fromMetadata(java.io.InputStream)">fromMetadata</a></span>&#8203;(java.io.InputStream&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Return a <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> based off of the given SAML 2.0
Asserting Party (IDP) metadata.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration">RelyingPartyRegistration.Builder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RelyingPartyRegistrations.html#fromMetadataLocation(java.lang.String)">fromMetadataLocation</a></span>&#8203;(java.lang.String&nbsp;metadataLocation)</code></th>
<td class="colLast">
<div class="block">Return a <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> based off of the given SAML 2.0
Asserting Party (IDP) metadata location.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="fromMetadataLocation(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>fromMetadataLocation</h4>
<pre class="methodSignature">public static&nbsp;<a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration">RelyingPartyRegistration.Builder</a>&nbsp;fromMetadataLocation&#8203;(java.lang.String&nbsp;metadataLocation)</pre>
<div class="block">Return a <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> based off of the given SAML 2.0
Asserting Party (IDP) metadata location.
Valid locations can be classpath- or file-based or they can be HTTP endpoints. Some
valid endpoints might include:
<pre>   metadataLocation = "classpath:asserting-party-metadata.xml";
   metadataLocation = "file:asserting-party-metadata.xml";
   metadataLocation = "https://ap.example.org/metadata";
 </pre>
Note that by default the registrationId is set to be the given metadata location,
but this will most often not be sufficient. To complete the configuration, most
applications will also need to provide a registrationId, like so:
<pre>        RelyingPartyRegistration registration = RelyingPartyRegistrations
                .fromMetadataLocation(metadataLocation)
                .registrationId("registration-id")
                .build();
 </pre>
Also note that an <code>IDPSSODescriptor</code> typically only contains information
about the asserting party. Thus, you will need to remember to still populate
anything about the relying party, like any private keys the relying party will use
for signing AuthnRequests.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadataLocation</code> - The classpath- or file-based locations or HTTP endpoints of
the asserting party metadata file</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> for further configuration</dd>
</dl>
</li>
</ul>
<a id="fromMetadata(java.io.InputStream)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>fromMetadata</h4>
<pre class="methodSignature">public static&nbsp;<a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration">RelyingPartyRegistration.Builder</a>&nbsp;fromMetadata&#8203;(java.io.InputStream&nbsp;source)</pre>
<div class="block">Return a <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> based off of the given SAML 2.0
Asserting Party (IDP) metadata.
<p>
This method is intended for scenarios when the metadata is looked up by a separate
mechanism. One such example is when the metadata is stored in a database.
</p>
<p>
<strong>The callers of this method are accountable for closing the
<code>InputStream</code> source.</strong>
</p>
Note that by default the registrationId is set to be the given metadata location,
but this will most often not be sufficient. To complete the configuration, most
applications will also need to provide a registrationId, like so:
<pre>        String xml = fromDatabase();
        try (InputStream source = new ByteArrayInputStream(xml.getBytes())) {
                RelyingPartyRegistration registration = RelyingPartyRegistrations
                        .fromMetadata(source)
                        .registrationId("registration-id")
                        .build();
        }
 </pre>
Also note that an <code>IDPSSODescriptor</code> typically only contains information
about the asserting party. Thus, you will need to remember to still populate
anything about the relying party, like any private keys the relying party will use
for signing AuthnRequests.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the <code>InputStream</code> source containing the asserting party
metadata</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="RelyingPartyRegistration.Builder.html" title="class in org.springframework.security.saml2.provider.service.registration"><code>RelyingPartyRegistration.Builder</code></a> for further configuration</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.6</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="RelyingPartyRegistrations.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="RelyingPartyRegistrations.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="RelyingPartyRegistrations.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040ea1b8eb697cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
